<?php

class Datagrid_Filtro_Default extends Datagrid_FiltroStrategy {

	public function aplicaFiltro($filtros,$query){
		
		$pfiltros = Sistema::GetInstancia()->GetParametros();
		
		if(isset($pfiltros['filtro_nome']) && $pfiltros['filtro_nome'] != null){
			if($pfiltros['filtro_nome'] == "publicado"){
				switch ($pfiltros['filtro_valor']){
					case 3:
						$filtros['publicado'] = 0;
						$filtros['anulado'] = 0;
						break;
					case 1:
						$filtros['publicado'] = 1;
						break;
					case 2:
						$filtros['anulado'] = 1;
						break;
				}
			}
		}

		if(sizeof($filtros) > 0){
				$i = 0;
				foreach($filtros as $campo => $valor){
				if($i == 0){
					if(is_int($valor)){
						$query->where("a.$campo = $valor");

					}else{
						$nvalor = "%$valor%";
						$query->where("a.$campo like $nvalor");
					}
					$i = 1;
				}else{
					if(is_int($valor)){
						$query->andWhere("a.$campo = $valor");
					}else{
						$nvalor = "%$valor%";
						$query->andWhere("a.$campo like $nvalor");
					}
				}
			}
		}
		//die($query->getSqlQuery());
	}
	
}